package com.jixiang.tracedata.model.flight;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamImplicit;

import java.io.Serializable;
import java.util.List;

/**
 * @author quanbiao
 * @date 2018-08-30
 * 旅客航段节点
 */
@XStreamAlias("Flight")
public class Flight implements Serializable{

    private static final long serialVersionUID = -1187753781593168696L;

    /**
     * 航空公司二字代码
     */
    @XStreamAsAttribute()
    private String AirlineCode;

    /**
     *航班号，开头不含0
     */
    @XStreamAsAttribute()
    private String FlightNumber;

    /**
     * 国际国内标识
     */
    @XStreamAsAttribute()
    private String International;

    /**
     * 航线
     */
    @XStreamAsAttribute()
    private String Route;

    /**
     * 首航段计划起飞日期
     */
    @XStreamAsAttribute()
    private String FlightDate;

    /**
     * 首航段计划起飞时间
     */
    @XStreamAsAttribute()
    private String FlightTime;

    /**
     * 航班后缀，可为控制或字母
     */
    @XStreamAsAttribute()
    private String Suffix;

    @XStreamAlias("Leg")
    private Leg Leg;

    @XStreamImplicit(itemFieldName="Segment")
    private List<Segment> SegmentList;

    @XStreamAsAttribute()
    private String EffectiveDate;

    @XStreamAsAttribute()
    private String DiscontinuationDate;

    @XStreamAsAttribute()
    private String Frequency;

    @XStreamAlias("PreviousInfo")
    private PreviousInfo PreviousInfo;

    public Leg getLeg() {
        return Leg;
    }

    public void setLeg(Leg leg) {
        Leg = leg;
    }

    public com.jixiang.tracedata.model.flight.PreviousInfo getPreviousInfo() {
        return PreviousInfo;
    }

    public void setPreviousInfo(com.jixiang.tracedata.model.flight.PreviousInfo previousInfo) {
        PreviousInfo = previousInfo;
    }

    public String getAirlineCode() {
        return AirlineCode;
    }

    public void setAirlineCode(String airlineCode) {
        AirlineCode = airlineCode;
    }

    public String getFlightNumber() {
        return FlightNumber;
    }

    public void setFlightNumber(String flightNumber) {
        FlightNumber = flightNumber;
    }

    public String getInternational() {
        return International;
    }

    public void setInternational(String international) {
        International = international;
    }

    public String getRoute() {
        return Route;
    }

    public void setRoute(String route) {
        Route = route;
    }

    public String getFlightDate() {
        return FlightDate;
    }

    public void setFlightDate(String flightDate) {
        FlightDate = flightDate;
    }

    public String getFlightTime() {
        return FlightTime;
    }

    public void setFlightTime(String flightTime) {
        FlightTime = flightTime;
    }

    public String getSuffix() {
        return Suffix;
    }

    public void setSuffix(String suffix) {
        Suffix = suffix;
    }

    public List<Segment> getSegmentList() {
        return SegmentList;
    }

    public void setSegmentList(List<Segment> segmentList) {
        SegmentList = segmentList;
    }

    public String getEffectiveDate() {
        return EffectiveDate;
    }

    public void setEffectiveDate(String effectiveDate) {
        EffectiveDate = effectiveDate;
    }

    public String getDiscontinuationDate() {
        return DiscontinuationDate;
    }

    public void setDiscontinuationDate(String discontinuationDate) {
        DiscontinuationDate = discontinuationDate;
    }

    public String getFrequency() {
        return Frequency;
    }

    public void setFrequency(String frequency) {
        Frequency = frequency;
    }
}
